#include <stdlib.h>
#include <string.h>
#include "shell.h"

void main() {
    // sio init
    struct sio_context sio_ctx;
    sio_ctx.parity = SIO_PARITY_NONE;
    sio_ctx.databit = SIO_DATABIT_8;
    sio_ctx.stopbit = SIO_STOPBIT_1;
    sio_ctx.interrupt = SIO_INTERRUPT_DISABLE;

    struct sio_device sio;
    sio_init(&sio, &sio_ctx);

    // kbd init
    struct kbd_device kbd;
    kbd_init(&kbd);

    // digit io init
    struct digit_io_device digit_io;
    digit_io_init(&digit_io);

    // screen init
    struct screen_device screen;
    screen_init(&screen);

    // shell init
    shell_init(&sio, &kbd, &screen, &digit_io);
    shell_run();
}